package edu.fzu.gulimall.gateway.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.reactive.CorsWebFilter;
import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;

/**
 * @Author John Carraway
 * @Create 2022/6/23 22:20
 * @Version 1.0
 */
@Configuration
public class CorsConfiguration {

   @Bean
   public CorsWebFilter corsWebFilter(){
      UrlBasedCorsConfigurationSource source =
              new UrlBasedCorsConfigurationSource();
      org.springframework.web.cors.CorsConfiguration corsConfiguration =
              new org.springframework.web.cors.CorsConfiguration();

      // 配置跨域
      corsConfiguration.addAllowedHeader("*");
      corsConfiguration.addAllowedMethod("*");
      corsConfiguration.addAllowedOrigin("*");
      corsConfiguration.setAllowCredentials(true);

      source.registerCorsConfiguration("/**", corsConfiguration);
      return new CorsWebFilter(source);
   }
}
